.nsb_chatview_msg_root {
  display: flex;
  flex-direction: column;
  user-select: none;
  position: relative;
  padding-bottom: 5px;
  opacity: 0;

  .floating_button {
    transition: all 400ms;
    transform-origin: 50% 50%;
    outline: none;
    border: none;
    box-shadow: 2px 2px 5px transparent;

    &:disabled {
      transform: none;
      box-shadow: 2px 2px 5px transparent;
    }

    &:hover {
      box-shadow: 2px 2px 5px #00000088;
    }

    &:active {
      box-shadow: 2px 2px 5px transparent;
      box-shadow: none;
      transition: all 60ms;
    }
  }

  .nsb_chatview_msg_date {
    align-self: center;
    color: gray;
    font-size: 12px;
  }

  .nsb_chatview_msg_sender_name {
    font-size: 12px;
    color: gray;
    min-height: 5px;
  }

  .nsb_chatview_my_msg_sender_name {
    .nsb_chatview_msg_sender_name();
    align-self: flex-end;
  }

  .nsb_chatview_od_msg_sender_name {
    .nsb_chatview_msg_sender_name();
    align-self: flex-start;
  }

  .nsb_chatview_msg_system_body {
    align-self: center;
    color: gray;
    font-size: 12px;
  }

  .nsb_chatview_msg_body_zone {
    display: flex;

    .nsb_chatview_msg_sender_head {
      .floating_button();
      width: 30px;
      height: 30px;
      margin: 5px;
      background: black;
      border-radius: 50%;
      align-self: flex-start;
      outline: none;
      border: none;
      padding: 0px 0px 0px 0px;
      overflow: hidden;

      img {
        border-radius: 50%;
        width: 30px;
        height: 30px;
        object-fit: cover;
        overflow: hidden;
        outline: none;
        border: none;
      }

    }

    .nsb_chatview_my_msg_sender_head {
      .nsb_chatview_msg_sender_head();
    }

    .nsb_chatview_od_msg_sender_head {
      .nsb_chatview_msg_sender_head();
    }

    .nsb_chatview_msg_bubble_zone {
      display: flex;
      flex-direction: column;
      max-width: 60%;
      // overflow: hidden;

      .nsb_chatview_msg_bubble {
        box-shadow: 0px 0px 3px #00000022;
        padding: 5px 10px;
        border-radius: 5px;
        user-select: text;
        overflow: hidden;
        word-break: break-all
      }

      .nsb_chatview_my_msg_bubble {
        .nsb_chatview_msg_bubble();
        align-self: flex-end;
      }

      .nsb_chatview_od_msg_bubble {
        .nsb_chatview_msg_bubble();
        align-self: flex-start;
      }

      .nsb_chatview_my_msg_text_bubble {
        .nsb_chatview_msg_bubble();
        background: #00aa00;
        color: white;
      }

      .nsb_chatview_od_msg_text_bubble {
        .nsb_chatview_msg_bubble();
        background: white;
        color: #222222;
      }

      .nsb_chatview_my_msg_img_bubble {
        .nsb_chatview_my_msg_bubble();
        .floating_button();
        background: transparent;
        max-width: 100%;
        max-height: 250px;

        img {
          object-fit: cover;
          max-width: 100%;
          max-height: 100%;
          overflow: hidden;
        }
      }

      .nsb_chatview_od_msg_img_bubble {
        .nsb_chatview_my_msg_bubble();
        .floating_button();
        background: transparent;
        max-width: 100%;
        max-height: 250px;

        img {
          object-fit: cover;
          max-width: 100%;
          max-height: 100%;
          overflow: hidden;
        }
      }

      .nsb_chatview_msg_file_info {
        display: flex;
        flex-direction: column;
        min-width: 150px;
        max-width: 250px;
      }

      @file_icon_size: 48px;

      .nsb_chatview_msg_file_icon {
        object-fit: cover;
        max-width: @file_icon_size;
        max-height: @file_icon_size;
        min-width: @file_icon_size;
        min-height: @file_icon_size;
        overflow: hidden;
      }

      .nsb_chatview_msg_file_name {
        color: #222222;
        flex: 1;
        font-size: 16px;
      }

      .nsb_chatview_msg_file_size {
        color: gray;
        font-size: 12px
      }

      .nsb_chatview_my_msg_file_bubble {
        .nsb_chatview_my_msg_bubble();
        .floating_button();
        background-color: white;
        display: flex;
        flex-direction: row-reverse;

        .nsb_chatview_my_msg_file_icon {
          .nsb_chatview_msg_file_icon();
        }

        .nsb_chatview_my_msg_file_info {
          .nsb_chatview_msg_file_info();
          margin-right: 5px;

          .nsb_chatview_my_msg_file_name {
            .nsb_chatview_msg_file_name();
            align-self: flex-end;
          }

          .nsb_chatview_my_msg_file_size {
            .nsb_chatview_msg_file_size();
            align-self: flex-start;
          }
        }
      }

      .nsb_chatview_od_msg_file_bubble {
        .nsb_chatview_my_msg_bubble();
        .floating_button();
        background-color: white;
        display: flex;
        flex-direction: row;

        .nsb_chatview_od_msg_file_icon {
          .nsb_chatview_msg_file_icon()
        }


        .nsb_chatview_od_msg_file_info {
          .nsb_chatview_msg_file_info();
          margin-left: 5px;

          .nsb_chatview_od_msg_file_name {
            .nsb_chatview_msg_file_name();
            align-self: flex-start;
          }

          .nsb_chatview_od_msg_file_size {
            .nsb_chatview_msg_file_size();
            align-self: flex-end;
          }
        }
      }
    }
  }

  .nsb_chatview_my_msg_body_zone {
    .nsb_chatview_msg_body_zone();
    flex-direction: row-reverse;
  }

  .nsb_chatview_od_msg_body_zone {
    .nsb_chatview_msg_body_zone();
    flex-direction: row;
  }
}